# 定义一个角色类，包含有角色的姓名和武器名称，添加方法say，可以进行做我介绍
# 定义一个英雄类，继承角色类，添加一个等级属性，添加一个攻击的方法，可以一个目标。
# 定义一个法师类，继承角色类，添加一个法术的属性，添加一个攻击的方法，可以攻击一个目标。
class Role:  # 基类
    def __init__(self, name, weapon):
        self.name = name
        self.weapon = weapon
    def say(self):
        print(f'我叫{self.name}，我的武器是{self.weapon}')
# 定义英雄类，继承角色类
class Hero(Role):
    def __init__(self, name, weapon, level):
        # 调用父类构造方法，继承父类的属性
        Role.__init__(self, name, weapon)
        # 添加子类自己的属性
        self.level = level
    def attack(self, target):
        print(f'{self.name}正在与{target}近身肉搏，英雄等级为{self.level}')
h1 = Hero('张飞', '丈八蛇矛', 8)
h1.say()
h1.attack('吕布')
# 创建法师类，继承角色类
class Mage(Role):
    def __init__(self, name, weapon, spell):
        # 调用父类的构造方法，继承父类的属性
        Role.__init__(self, name, weapon)
        self.spell = spell
    def attack(self, target):
        print(f'{self.name}正在使用{self.spell}攻击{target}')
m1 = Mage('诸葛亮', '羽扇', '冰霜术')
m1.say()
m1.attack('周瑜')